#ifndef CINVENTORY_SYSTEM_H
#define CINVENTORY_SYSTEM_H
/***********************************
 ** The inventory data structure
 ** holds information on the items
 ** that the player are currently
 ** holding.
 ***********************************/
#include "cItemFactory.h"

//Constants on capacity of the item arrays
#define RING_CAPACITY	4
#define BRACER_CAPACITY 2

//Constant Item Types
enum { RING, AMULET, BRACER };

struct cInventory
{
	unsigned int	itemType;

	cAmulet			amulet;
	cBracer			bracers[BRACER_CAPACITY];
	cRing			rings[RING_CAPACITY];
};

class cInventorySystem
{
	public:
		//Constructor
		cInventorySystem();

		//Destructor
		~cInventorySystem();

		//Drop an item
		void			dropItem(unsigned int type);

		//Pick up an item
		void			pickUpItem(unsigned int type);

		//Traverse through rings to find the on with the correct
		//identification
		void			cycleRings(unsigned int ringId);

	private:
		//Controls the information of the inventory list
		cInventory*		m_pInventory;
		cRing*			m_pSelectedRing;
};

#endif